<?php
class user
{
	public $id,$username,$sesso,$livello;
    private $time_check = 0;

	function __construct($id = false)
	{
	global $db;
		if($id)
		{
		$sql = "SELECT username,sesso,livello FROM users WHERE id = '".$id."' LIMIT 1";
		$row = $db->one($sql);

        $cookie = new cookie();
        
		if($_POST['login_save']) $cookie->set(session_name(),$cookie->get(session_name()));
		
		$this->id = $id;
		$this->username = $row['username'];
		$this->sesso = $row['sesso'];
		$this->livello = $row['livello'];
		$this->online = true;
		}
		else
		{
			$this->id = 0;
			$this->username = 'Offline';
			$this->sesso = 'm';
			$this->livello = 0;
			$this->offline = true;
		}
	}

	function set($nome,$campo)
	{
        global $db;
            if(is_array($campo))
            {
                $i = 0;
                foreach($campo as $nome => $valore)
                {
                    if($i > 0) $body .= ',';
                    $body .= $nome.' = '.input($valore);
                $i++;
                }
            }
            else $body = $campo.' = '.input($valore);
            $sql = "UPDATE users SET ".$body." WHERE id = '".$this->id."' LIMIT 1";
            if($db->query($sql)) return true;
            return false;
	}

	function get($nome)
	{
	global $db;
		$sql = "SELECT ".$nome." FROM users WHERE id = '".$this->id."' LIMIT 1";
		$row = $db->query_array($sql);
	return $row[$nome];
	}

    function update_online()
    {
        $time = time();
        if($this->time_check < $time)
        {
            $this->set('online',$time);
            $this->time_check = $time + 300;
        }
    }

    function avvisa($a,$id_oggetto,$oggetto)
	{
	global $db;
		$sql = "INSERTO INTO notification (id_a,id_da,id_oggetto,oggetto,tempo) VALUES ('".$a."','".$this->id."','".$id_oggetto."','".$oggetto."','".time()."')";
		$db->query($sql);
	}


    function log($id_categoria,$categoria,$descrizione,$da_leggere = false)
    {
    global $db,$user;
        $this->id_user = $user->id;
        $this->ip = $_SERVER['REMOTE_ADDR'];

        $this->id_categoria = $id_categoria;
        $this->categoria = $categoria;
        $this->descrizione = $descrizione;

        if($da_leggere) $this->letto = 0;
        else $this->letto = 1;

        $sql = "INSERT INTO log (id_categoria,categoria,descrizione,id_user,ip,letto) VALUES ('".$this->id_categoria."','".$this->categoria."','".$this->descrizione."','".$this->id_user."','".$this->ip."','".$this->letto."')";
        $db->query($sql);
    }
}
?>